home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nebula 2
/
Nebula Two.iso
/
SourceCode
/
GameKit
/
gamekit-1
/
GameActor.m
< prev
next >
Wrap
Text File
|
1995-06-12
|
1KB
|
74 lines
/* Generated by Interface Builder */
// Handles moving and rendering various moving objects.
#import <gamekit/gamekit.h>
#import <stdio.h>
@implementation GameActor
- init // initialize the new instance vars
{
[super init];
myX = 0; myY = 0;
lastx = 0; lasty = 0;
px = 0; py = 0; scale = 1;
return self;
}
- move:sender // Move the Actor one animation frame
{ // you must override this and put something here
return self;
}
- at:(float *)xx :(float *)yy // where is the actor now?
{
*xx = myX;
*yy = myY;
return self;
}
- lastAt:(float *)xx :(float *)yy // called to find out where actor is
{
*xx = lastx;
*yy = lasty;
return self;
}
- (int)xpos { return myX; } // return our x-coord
- (int)ypos { return myY; } // return our y-coord
- moveOneFrame // moves the actor along; access directly or via renderAt::move:
{
myX += px;
myY += py;
return self;
}
- renderAt:(int)posx :(int)posy move:(BOOL)moveOk // draw actor
// you should lock focus on view that gets the actor first.
{ // this should be overridden by the actor subclass
if (moveOk) [self moveOneFrame];
lastx = myX;
lasty = myY;
return self;
}
- (int)scale
{
return scale;
}
- setScale:(int)newScale
{
if ((newScale < 1) || (newScale > 2)) return self;
scale = newScale;
return self;
}
@end